/**
 * @(#)ProcessInformation.java Dec 4, 2009
 *   
 * Copyright  (c) 2009-2010 Wilmar IT Service,  Inc.   
 * All  rights  reserved.   
 * TODO
 */

package com.wilmar.process.entity;

import java.io.Serializable;

/**
 * 流程实例相关信息
 * 
 * @author MaKuBEX Email:makubexnet@gmail.com
 * @version 1.0.0
 */
public class ProcessInformation implements Serializable {

	/**
	 * @serialField
	 */
	private static final long serialVersionUID = -8557526147699212689L;

	private String processDeploymentId;
	private String processDefinitionId;
	private String processDefinitionKey;
	private String processInstanceId;
	private String processInstanceKey;
	private String processInstanceKeyGenerator;
	private String taskInstanceId;
	private String opinion;
	private String opinionName;
	private String outCome;

	/**
	 * 默认构造函数
	 */
	public ProcessInformation() {
		super();
	}

	/**
	 * 完整构造函数
	 * 
	 * @param processDeploymentId
	 *            流程部署编号
	 * @param processDefinitionId
	 *            流程定义编号
	 * @param processDefinitionKey
	 *            流程定义关键字
	 * @param processInstanceId
	 *            流程实例编号
	 * @param processInstanceKey
	 *            流程实例关键字
	 * @param processInstanceKeyGenerator
	 *            流程实例关键字生成器
	 * @param taskInstanceId
	 *            任务实例编号
	 * @param opinion
	 *            处理意见
	 * @param opinionName
	 *            处理意见的输入控件名称
	 * @param outCome
	 *            流转流向
	 */
	public ProcessInformation(String processDeploymentId,
			String processDefinitionId, String processDefinitionKey,
			String processInstanceKeyGenerator, String processInstanceId,
			String processInstanceKey, String taskInstanceId, String opinion,
			String opinionName, String outCome) {
		super();
		this.processDeploymentId = processDeploymentId;
		this.processDefinitionKey = processDefinitionKey;
		this.processInstanceKeyGenerator = processInstanceKeyGenerator;
		this.processDefinitionId = processDefinitionId;
		this.processInstanceId = processInstanceId;
		this.taskInstanceId = taskInstanceId;
		this.opinion = opinion;
		this.opinionName = opinionName;
		this.outCome = outCome;
	}

	/**
	 * @return the processDefinitionId
	 */
	public String getProcessDefinitionId() {
		return processDefinitionId;
	}

	/**
	 * @param processDefinitionId
	 *            the processDefinitionId to set
	 */
	public void setProcessDefinitionId(String processDefinitionId) {
		this.processDefinitionId = processDefinitionId;
	}

	/**
	 * @return the processInstanceId
	 */
	public String getProcessInstanceId() {
		return processInstanceId;
	}

	/**
	 * @param processInstanceId
	 *            the processInstanceId to set
	 */
	public void setProcessInstanceId(String processInstanceId) {
		this.processInstanceId = processInstanceId;
	}

	/**
	 * @return the taskInstanceId
	 */
	public String getTaskInstanceId() {
		return taskInstanceId;
	}

	/**
	 * @param taskInstanceId
	 *            the taskInstanceId to set
	 */
	public void setTaskInstanceId(String taskInstanceId) {
		this.taskInstanceId = taskInstanceId;
	}

	/**
	 * @return the opinion
	 */
	public String getOpinion() {
		return opinion;
	}

	/**
	 * @param opinion
	 *            the opinion to set
	 */
	public void setOpinion(String opinion) {
		this.opinion = opinion;
	}

	/**
	 * @return the opinionName
	 */
	public String getOpinionName() {
		return opinionName;
	}

	/**
	 * @param opinionName
	 *            the opinionName to set
	 */
	public void setOpinionName(String opinionName) {
		this.opinionName = opinionName;
	}

	/**
	 * @return the outCome
	 */
	public String getOutCome() {
		return outCome;
	}

	/**
	 * @param outCome
	 *            the outCome to set
	 */
	public void setOutCome(String outCome) {
		this.outCome = outCome;
	}

	/**
	 * @return the processDefinitionKey
	 */
	public String getProcessDefinitionKey() {
		return processDefinitionKey;
	}

	/**
	 * @param processDefinitionKey
	 *            the processDefinitionKey to set
	 */
	public void setProcessDefinitionKey(String processDefinitionKey) {
		this.processDefinitionKey = processDefinitionKey;
	}

	/**
	 * @return the processInstanceKey
	 */
	public String getProcessInstanceKey() {
		return processInstanceKey;
	}

	/**
	 * @param processInstanceKey
	 *            the processInstanceKey to set
	 */
	public void setProcessInstanceKey(String processInstanceKey) {
		this.processInstanceKey = processInstanceKey;
	}

	public String getProcessDeploymentId() {
		return processDeploymentId;
	}

	public void setProcessDeploymentId(String processDeploymentId) {
		this.processDeploymentId = processDeploymentId;
	}

	/**
	 * @return the processInstanceKeyGenerator
	 */
	public String getProcessInstanceKeyGenerator() {
		return processInstanceKeyGenerator;
	}

	/**
	 * @param processInstanceKeyGenerator
	 *            the processInstanceKeyGenerator to set
	 */
	public void setProcessInstanceKeyGenerator(
			String processInstanceKeyGenerator) {
		this.processInstanceKeyGenerator = processInstanceKeyGenerator;
	}
}
